\chapter{L3DGEWorld Asterisk Management System}

\section{Overview of LAMS}
L3DGEWorld Asterisk Management System (LAMS) is a distributed application which monitors and manages a network of VoIP servers. Our system is specifically designed for the popular open source PBX Asterisk \cite{www:asterisk}.

LAMS generates a 3D virtual environment which represents an operational telephony system. The virtual world changes and reacts in real time to the state of the telephony system. The Asterisk servers are represented by \textit{objects} in the virtual environment which we call entities. Telephony and network metrics are mapped to visual and aural characteristics of the entities. For example the bandwidth being consumed by a server may be communicated through the size of its virtual counter-part. In this way critical information is communicated to users literally at a glance.

Network administrators are immersed in the 3D virtual environment where they can grasp the complexity of the VoIP system without requiring expert knowledge of VoIP. Network administrators are alerted to events in the telephony system through highly-visible activity occurring on the entities. Management of the telephony system occurs through interaction with the entities and the virtual environment.

LAMS is composed of the following components:
\begin{itemize}
\item Statistic gathering daemons which reside on each server being monitored. Periodically this data is sent to a central L3DGEWorld server.
\item A L3DGEWorld server installed with our LAMS 3D virtual world, representing in real time the telephony system.
\item L3DGEWorld clients which allow network administrators to monitor and manage the telephony system  via interaction with the virtual world.
\end{itemize}

LAMS is a scalable and versatile solution which can adapt to different IP telephony systems. The design goals for LAMS are:
\begin{itemize}
  \item To communicate complex telephony and network metrics efficiently and effectively through meaningful visualisation choices.
To communicate telephony and network metrics side by side in an informative manner.
  \item To reduce the need for detailed knowledge of VoIP technologies through intuitive visualisation.
  \item To minimise added cost and overhead to the managed network to acceptable levels.
\end{itemize}

\section{Visualisation of an IP Telephony System}

\subsection{Mapping of Visual Characteristics}
Inside the LAMS 3D virtual world each 3D entity represents an object or concept of the real system such as a VoIP server or phone call. Telephony systems have many features to monitor and manage. Some common telephony metrics are voice channel usage, queue status, packet rates and CPU usage.

LAMS takes these metrics and maps them onto the visual and aural characteristics of an entity. When a metric's value changes, the corresponding characteristic of entity will react to the change also. L3DGEWorld supports nine different characteristics, for example colour, spin rate, bounce height and sound. The choice of which characteristic maps to a metric is dependent on the telephony system being monitored. Too many characteristics applied to a single entity may result in confusion about the information being conveyed, while too few reduces the effectiveness and efficiency of LAMS. See our prototype implementation in Section \ref{sect:prototype_overview} for an example of mapping characteristics to metrics.

\subsection{Monitoring and Management Information Hierarchy}
Telephony systems are greatly varied and there are many features and metrics which need to be managed. LAMS will represent information in a hierarchy to better enable users to digest the information, and to make LAMS more flexible to different telephony systems. We have defined three levels to the LAMS hierarchy, although some systems may not require all levels.

The first and topmost level we have named the Service Summary level. The entities on this level summarise a cluster of VoIP servers. This level is useful for presenting a summary of a large distributed telephony system, with VoIP servers that can be clustered together by function or geographic location. Users can dive into a cluster summary entity to enter the second level.

The second level is named the Server and Telephony Service level. This level represents the servers belonging to a cluster. Because telephony and server metrics are of equal importance but too much information to represent in a single entity, a single host is represented by a pair of entities. One entity represents telephony metrics and the other server metrics. Users can dive into the telephony entity to reach the third level.

The third and bottom level we call the Client level. Entities on this level each represent a voice channel of a VoIP server.

Each level of the hierarchy will appear as a separate area within the virtual world. Entities in an upper level will summarise what is occurring on the level beneath. The users can move into a lower level by diving into a 3D entity, and move into an upper level by flying up to the "roof" of the current area. Refer to Figure \ref{fig:levels}.

\begin{figure}[htp]
\centering
\includegraphics[width=3in]{diagrams/levelExplanation}
\caption{Moving between management levels}
\label{fig:levels}
\end{figure}

\section{Monitoring and Management with LAMS}

When users enter the virtual world via their LAMS clients, they will observe entities that reflect in real-time the state of the telephony system. Users will move within levels and between levels, and observe the appearance and movement of entities. By interpreting these visual cues into an understanding of the telephony system users are participating in monitoring.
 
The LAMS client provides a number of management tools to users inside the virtual world. These tools are used to interact with the entities and cause actions to occur on the telephony system, for example terminating a call or updating a server configuration.

LAMS supports multiple users interacting with the virtual environment, and allows users to communicate with each other. This allows monitoring and management to be a collaborative process. For example, one user could be in charge of performing maintenance while another user is off troubleshooting a VoIP customer's connectivity issues. The work load of managing the VoIP system is shared between multiple users.
